본문으로 건너뛰기

06.26 일지

오랜만이에요 긴 시험기간을 마치고 휴식을 가지고 돌아왔습니다!

오늘 한 일

  • 새로운 프로젝트 백로그 작성
  • Rust 입문

RUST 입문

아는 사람 중에 강주기라는 사람이 있는데, 그 분이 주신 Udemy 계정으로 Rust 강의를 먼저 듣고 그 후에 Rust 공식 문서로 공부할 생각이다.

str 할당

fn main() {
let mut test_string = "abcdefg";
display_string_address(test_string);
test_string = "ch";
display_string_address(test_string);
}

fn display_string_address(test_string: &str){
println!("{:?}", test_string.as_ptr());
}
   Compiling hello v0.1.0 (/Users/hakrim/hello)
Finished dev [unoptimized + debuginfo] target(s) in 0.09s
Running `target/debug/hello`
0x10021ae30
0x10021ae37

그냥 심심해서 &str변수 메모리 주소를 띄워봤다. mutable하게 변수를 설정할 때, &str 타입은 새롭게 str을 위한 메모리를 할당받으며, 메모리는 연속적으로 할당되는 것 같다.

사실 Rust에서 소유권 개념에 따라 str, &str, String, &String 타입이 있지만.. 그 개념이 잘 생각이 안나서
나중에 제대로 소유권과 str 타입을 이해하고 다시 메모리가 어떻게 할당되는지 알아보거나 그냥 구글링하는 게 좋아보인다.

cargo run으로 bin 파일 실행하기

cargo run --bin FILE_NAME
main.rs 파일이 아닌 rs 파일을 실행하기 위해 bin을 실행한다는 것을 명시해줘야한다.

Rust 함수 return 주의할 점

올바른 코드

fn sum(a: i32, b: i32) -> i32 {
//세미콜론이 없다.
a+b
}

틀린 코드

fn sum(a: i32, b: i32) -> i32 {
//세미콜론이 있다.
a+b;
}

-> Rust에서는 마지막으로 쓰인 수식이 return 값으로 사용될 수 있다고 한다.
단, 세미콜론이 없는한 이라고한다.
그냥 헷갈리지 않게 항상 return으로 표현하도록 하자.

참고

  • 참고로 강의에서 문법에 대한 기초적인 부분은 확인만 하고 바로 넘기고 있다.
  • github에 Rust용 레포를 하나 추가해서 실습 코드를 올려야겠다.

뉴프 백로그 작성

: Android-Kotlin에 대해 너무 몰라서 간단한 개인 프로젝트부터 시작하기로 했다.
저번에 아이디어만 남아있던, 약/영양제 시간 알림 앱이 난이도가 초보가 하기에도 적당할 것 같아서 간택되었다.
그에 따라 백로그를 작성.

백로그

스크린샷 2023-06-26 오후 11 40 42

-> 저는 이런 식으로 사용자/서비스/세부서비스/디테일한 부분(in 개발자관점)으로 분류해서 하는데 다른 분들은 어떤 식으로 잡고 하시나요?


일상

: 다른 분들도 공유해주시고 있길래 저도 시간나면 해볼까 합니다 ㅎㅎ

  • 애즈펌을 했는데 한 쪽에 c컬이 나왔던 문제가 드라이하다가 실수로 머리 손질 과정에서 내가 c컬로 만들어버린 것 같아서 뒤늦게 다시 s컬 형태로 자리잡히게 머리를 만졌다
  • 오~~랜만에 운동 시작할랬는데, 파크리오 헬스장이 월요일마다 휴무라.. 오늘은 홈트 -> 홈트를 원래 잘 안해서 뭐할지 몰라서 푸시업만 가볍게 했다. 너무 오랜만이라 100개만 할까 했는데 살이 빠져서 그런지 200개까지 쉬워서 40-30-30-40-30-20-10으로 채우긴 했는데 운동한 맛이 안나
  • 내일부터 헬스장가서 빡운동 하고 싶은데 예비군가야된다 ㅡㅡ
  • 집에 있으면 퍼질러질게 눈에 보여서 방학때 온라인 스터디 모각코를 TIL 사람들과 할까 고민중